package net.hn.hnms.biz.support.mapper;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.hn.hnms.biz.support.domain.AbscissdataNowPo;
import net.hn.hnms.biz.support.domain.dto.AbscissdataNowDto;
import net.hn.hnms.biz.support.domain.dto.QueryNowDto;
import net.hn.hnms.biz.support.domain.vo.AbscissQueryVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.math.BigDecimal;
import java.util.List;

/**
 * @InterfaceName: AbscissdataNowMapper
 * @Description 顶板离层测点实时信息Mapper
 * @Author 王龙
 * @Date 2022-10-17
 * @Version 0.1
 */
@DS(value = "slave")
public interface AbscissdataNowMapper extends BaseMapper<AbscissdataNowPo> {

    @Select("SELECT max(deepbasepoint_value-shallowbasepoint_value) FROM \"dwd_cjdy_dblc_now_abscissdata\"")
    BigDecimal maxAbscission();


    /**
     * 查询顶板报警,顶板数据在now表内，   离层量=深基点-浅基点  (报警条件为离层量>=50mm)
     * @return
     */

    List<AbscissdataNowDto> getAbscissdataNow();

    /**
     * 获取深基点的最大值
     * @param mineCode
     * @return
     */
    Float selectOneDeepMax(@Param("mineCode") String mineCode);

    /**
     * 获取浅基点的最大值
     * @param mineCode
     * @return
     */
    Float selectOneShallowMax(@Param("mineCode") String mineCode);

    /**
     * 分页条件查询顶板离层实时数据
     * @param queryNowDto
     * @return
     */
    List<AbscissQueryVo> abscissPageNowList(@Param("QueryNowDto") QueryNowDto queryNowDto);

    /**
     * 查询实时表内的报警数据 获取今日报警数据
     * @param mineCode
     * @param thresholdValue
     * @return
     */
    List<AbscissdataNowPo> getTodayAlarmListByValue(@Param("mineCode") String mineCode, @Param("thresholdValue") BigDecimal thresholdValue);
}
